// objects.h
// objects class header file

#ifndef OBJECTS_H
#define OBJECTS_H

#include <vector>

#include "highground.h"
#include "object.h"
#include "fountain.h"
#include "wizard.h"

class Objects {
	public:
		Objects();
		~Objects();
		
		unsigned int getNObjects();
		void removeObject(const unsigned int);
		Object* getObject(const unsigned int);
		
		unsigned int getNFountains();
		void addFountain(const unsigned int, const unsigned int);
		void removeFountain(const unsigned int);
		Fountain* getFountain(const unsigned int);
		
		unsigned int getNWizards();
		void addWizard(const unsigned int, const unsigned int, 
					   const unsigned int);
		void removeWizard(const unsigned int);
		Wizard* getWizard(const unsigned int);
		
	private:
		unsigned int nFountains_;
		unsigned int nWizards_;
		
		std::vector<Object*> objects_;
		
};

#endif // OBJECTS_H

